سی پلا س پلاس از برنامه نویسی ساخت یافته پشتیبانی می کند
زبان های برنامه نویسی ساخت یافته مکانیسم های بصری برای کنترل جریان برنامه (به ترتیب ترتیب اجرای دستورات) فراهم می کنند. عبارات کنترل جریان ساخت یافته در C ++ مشابه آنچه در بسیاری از زبانهای برنامه نویسی ساختار یافته دیگر یافت می شود. اینها اگر / دیگری برای پیاده سازی منطق انشعابی ، و برای ، while ، و do / while برای اجرای تکرارها (حلقه ها) هستند. C ++ دستور معروف goto را دارد که می تواند برای انتقال کنترل به یک مکان دلخواه درون یک تابع به روشی "غیر ساختاری" مورد استفاده قرار گیرد ، اما به ندرت استفاده می شود.
سی پلاس پلاس دامنه متغیر واژگانی دارد
C ++ به عنوان بیشتر زبانهای مدرن ، از دامنه واژگانی برای متغیرها و توابع استفاده می کند. یک متغیر یا عملکرد در ++ C ممکن است فقط از داخل کد کدی که در آن اعلام شده است ، ارجاع شود. دامنه هنگام کامپایل کد تعیین می شود. برعکس دامنه واژگانی ، دامنه پویا به دامنه یک متغیر تعریف شده در زمان اجرا و بسته به حالت برنامه در هنگام مواجهه با نام یک متغیر اشاره دارد.
سی پلاس پلاس بصورت ثابت تایپ می شود ، اما از نظر نوع ایمن نیست
کامپایلر هنگام تدوین برنامه C ++ نوع بررسی را انجام می دهد. این به تشخیص اشتباهات رایج برنامه نویسی کمک می کند. در زبانهای تایپ شده به صورت پویا (مثلاً Python یا JavaScript) انواع متغیرها و توابع در زمان اجرا بررسی می شوند ، که امکان انعطاف پذیری بیشتر را فراهم می کند و گاهی اوقات کد را کوتاه می کند ، اما اغلب هنگام انجام یک کار یا عملکرد منجر به خطاهای زمان اجرا می شود روی جسمی از نوع نامناسب اعمال می شود. لازم به ذکر است که C ++ یک زبان بی خطر از نظر نوع نیست. کامپایلرهای C ++ بسیاری از عملیات را بر روی متغیرهای تایپ شده امکان پذیر می کنند که ممکن است منجر به رفتار یا خطاهای تعریف نشده شود ، اما معمولاً برنامه نویس باید "از کامپایلر مطلع شود" منظور خود را مثلاً با "ریختن" نشانگر به یک مکان حافظه برای یک مکان خاص نوع این در برنامه نویسی سطح پایین که دسترسی کارآمد به سخت افزار ضروری است بسیار مفید است ، اما از برنامه نویسان انتظار می رود که بدانند چه کاری انجام می دهند ، زیرا اشکال زدایی خطاهای ناشی از تبدیل نوع ناامن بسیار دشوار است و اغلب به سیستم عامل وابسته هستند.
سی پلاس پلاس برای دستکاری سطح پایین حافظه امکاناتی دارد
C ++ عملیاتی را روی اشاره گرها به مکان های حافظه دلخواه فراهم می کند ، که C ++ را به گزینه ای مناسب برای برنامه نویسی سیستم عامل ها ، سیستم های تعبیه شده و درایورهای دستگاه تبدیل می کند. به عنوان مثال ، یک درایور دستگاه ورودی / خروجی جانبی ممکن است حافظه و رجیسترهای دستگاه کنترل شده را با آدرس های خاص رزرو شده نقشه برداری (یا مرتبط) کند [12]. برای کنترل دستگاه ، درایور دستگاه مقادیر دارای معنی خاص را با توجه به مشخصات دستگاه به آن مکانهای حافظه اختصاص داده شده اختصاص می دهد. به عنوان مثال ، عبارت زیر در کد درایور (با فرض اینکه در C یا C ++ پیاده سازی شده باشد) ، بایت را در محل حافظه 40008000 (در نماد هگزادسیمال) بر 1 قرار می دهد.
نوع داده char در C / C ++ کوچکترین واحد آدرس پذیر دستگاه است (یک بایت متشکل از هشت بیت در اکثر رایانه های مدرن). (char *) عملگر cast نوع است که به کامپایلر می گوید 0x40008000 را به عنوان یک نشانگر به یک بایت در محل حافظه 0x40008000 تفسیر کند ، و پیشوند * (کاراکتر ستاره) عملگر ارجاع دهی اشاره گر است که برای دسترسی (خواندن یا نوشتن) استفاده می شود مقدار ذخیره شده در آن مکان.
دستکاری داده ها از طریق اشاره گرهای حافظه در ++ C نه تنها در برنامه نویسی سطح پایین سیستم ، بلکه در اجرای طیف گسترده ای از الگوریتم ها و ساختارهای داده با حداقل سربار ممکن یک عمل بسیار معمول است. ساختارهای داده ای متداول از نوع بردار مانند بردارها ، ماتریس ها و رشته های کاراکتر به طور م inثر در بلوک های حافظه مجاور حاوی داده هایی از یک نوع خاص در C ++ نشان داده می شوند و C ++ نحوی بسیار مختصر را برای عملکردهای این بلوک های حافظه فراهم می کند. به عنوان مثال ، یافتن موقعیت یک شخصیت در یک رشته C خاتمه یافته با صفر با استفاده از عملیات اشاره گر C می تواند فقط با یک خط کد انجام شود.
https://jcheminf.biomedcentral.com/articles/10.1186/s13321-020-0415-y
:: بازدید از این مطلب : 1034
|
امتیاز مطلب : 1
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1